home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- # Note that any setup should come before the sessreg command as
- # that must be 'exec'ed for the pid to be correct (sessreg uses the parent
- # pid)
- #
- # Note that output goes into the .xsession-errors file for easy debugging
- #
- PATH="/usr/X11R6/bin:$PATH:/bin:/usr/bin"
- OLD_IFS=$IFS
-
- gdmwhich () {
- COMMAND="$1"
- OUTPUT=
- IFS=:
- for dir in $PATH
- do
- if test -x "$dir/$COMMAND" ; then
- if test "x$OUTPUT" = "x" ; then
- OUTPUT="$dir/$COMMAND"
- fi
- fi
- done
- IFS=$OLD_IFS
- echo "$OUTPUT"
- }
-
- # Set background color
- XSETROOT=`gdmwhich xsetroot`
- if [ "x$XSETROOT" != "x" ] ; then
-
- CHECKBACKCOLOR="OK"
- if [ "x$GDM_GREETER_TYPE" = "xTHEMED" ]; then
- BACKCOLOR=`gdmflexiserver --command="GET_CONFIG greeter/GraphicalThemedColor $DISPLAY"`
-
- CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'`
- if [ "x$CHECKBACKCOLOR" = "xOK" ]; then
- BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'`
- else
- BACKCOLOR=""
- fi
- fi
-
- # If we tried to load the themed backgroundcolor, but failed, then try loading plain color
- if [ "x$CHECKBACKCOLOR" != "xOK" ] || [ "x$GDM_GREETER_TYPE" = "xPLAIN" ]; then
-
- # Background type can be 0=None, 1=Image & Color, 2=Color, or 3=Image
- BACKTYPE=`gdmflexiserver --command="GET_CONFIG greeter/BackgroundType $DISPLAY"`
-
- # Skip if background type does not include a color
- if [ "x$BACKTYPE" = "xOK 1" ] || [ "x$BACKTYPE" = "xOK 2" ]; then
- BACKCOLOR=`gdmflexiserver --command="GET_CONFIG greeter/BackgroundColor $DISPLAY"`
-
- CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'`
- if [ "x$CHECKBACKCOLOR" = "xOK" ]; then
- BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'`
- else
- BACKCOLOR=""
- fi
- fi
- fi
-
- # Default value
- if [ "x$BACKCOLOR" = "x" ]; then
- BACKCOLOR="#76848F"
- fi
-
- "$XSETROOT" -cursor_name left_ptr -solid "$BACKCOLOR"
- fi
-
-
- SESSREG=`gdmwhich sessreg`
- if [ "x$SESSREG" != "x" ] ; then
- # some output for easy debugging
- echo "$0: Registering your session with wtmp and utmp"
- echo "$0: running: $SESSREG -a -w /var/log/wtmp -u /var/run/utmp -x \"$X_SERVERS\" -h \"$REMOTE_HOST\" -l \"$DISPLAY\" \"$USER\""
-
- exec "$SESSREG" -a -w /var/log/wtmp -u /var/run/utmp -x "$X_SERVERS" -h "$REMOTE_HOST" -l "$DISPLAY" "$USER"
- # this is not reached
- fi
-
- # some output for easy debugging
- echo "$0: could not find the sessreg utility, cannot update wtmp and utmp"
- exit 0
-